Skip to content

Extend minicore with intrinsics and use it to replace #[rustc_intrinsic] in tests #140037

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

hbina
Copy link
Contributor

@hbina hbina commented Apr 19, 2025

Fixes #139918

Signed-off-by: Hanif Ariffin <[email protected]>
@rustbot
Copy link
Collaborator

rustbot commented Apr 19, 2025

r? @Mark-Simulacrum

rustbot has assigned @Mark-Simulacrum.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Apr 19, 2025
@hbina hbina changed the title Forgot to add the stubs Extend minicore with intrinsics and use it to replace #[rustc_intrinsic] in tests Apr 19, 2025
@hbina
Copy link
Contributor Author

hbina commented Apr 19, 2025

I am getting this issue

hbina085@DESKTOP-PGERPVO ~/g/rustlang (hbina-update-use-minicore) [1]> reset && python x.py test /home/hbina085/git/rustlang/tests/assembly/rust-abi-arg-attr.rs
Building bootstrap
    Finished `dev` profile [unoptimized] target(s) in 0.05s
Building stage0 library artifacts (x86_64-unknown-linux-gnu)
    Finished `release` profile [optimized + debuginfo] target(s) in 0.05s
Building compiler artifacts (stage0 -> stage1, x86_64-unknown-linux-gnu)
    Finished `release` profile [optimized + debuginfo] target(s) in 0.25s
Creating a sysroot for stage1 compiler (use `rustup toolchain link 'name' build/host/stage1`)
Building stage0 tool lld-wrapper (x86_64-unknown-linux-gnu)
    Finished `release` profile [optimized + debuginfo] target(s) in 0.09s
Building stage1 library artifacts (x86_64-unknown-linux-gnu)
    Finished `release` profile [optimized + debuginfo] target(s) in 0.02s
Building stage0 tool compiletest (x86_64-unknown-linux-gnu)
    Finished `release` profile [optimized + debuginfo] target(s) in 0.16s
Testing stage1 compiletest suite=assembly mode=assembly (x86_64-unknown-linux-gnu)

running 539 tests
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii  88/539
ii.iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii 176/539
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii 264/539
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii 352/539
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii 440/539
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii 528/539
iiiiiiii
[assembly] tests/assembly/rust-abi-arg-attr.rs#loongarch64 ... F

[assembly] tests/assembly/rust-abi-arg-attr.rs#riscv64-zbb ... F

[assembly] tests/assembly/rust-abi-arg-attr.rs#riscv64 ... F


failures:

---- [assembly] tests/assembly/rust-abi-arg-attr.rs#loongarch64 stdout ----

error in revision `loongarch64`: verification with 'FileCheck' failed
status: exit status: 1
command: "/home/hbina085/git/rustlang/build/x86_64-unknown-linux-gnu/ci-llvm/bin/FileCheck" "--input-file" "/home/hbina085/git/rustlang/build/x86_64-unknown-linux-gnu/test/assembly/rust-abi-arg-attr.loongarch64/rust-abi-arg-attr.s" "/home/hbina085/git/rustlang/tests/assembly/rust-abi-arg-attr.rs" "--check-prefix=CHECK" "--check-prefix" "loongarch64" "--allow-unused-prefixes" "--dump-input-context" "100"
stdout: none
--- stderr -------------------------------
/home/hbina085/git/rustlang/tests/assembly/rust-abi-arg-attr.rs:34:17: error: CHECK-NEXT: expected string not found in input
 // CHECK-NEXT: .cfi_startproc
                ^
/home/hbina085/git/rustlang/build/x86_64-unknown-linux-gnu/test/assembly/rust-abi-arg-attr.loongarch64/rust-abi-arg-attr.s:6:18: note: scanning from here
issue_114508_u32:
                 ^
/home/hbina085/git/rustlang/build/x86_64-unknown-linux-gnu/test/assembly/rust-abi-arg-attr.loongarch64/rust-abi-arg-attr.s:15:30: note: possible intended match here
 .section .text.issue_114508_i32,"ax",@progbits
                             ^
/home/hbina085/git/rustlang/tests/assembly/rust-abi-arg-attr.rs:54:17: error: CHECK-NEXT: expected string not found in input
 // CHECK-NEXT: .cfi_startproc
                ^
/home/hbina085/git/rustlang/build/x86_64-unknown-linux-gnu/test/assembly/rust-abi-arg-attr.loongarch64/rust-abi-arg-attr.s:19:18: note: scanning from here
issue_114508_i32:
                 ^
/home/hbina085/git/rustlang/build/x86_64-unknown-linux-gnu/test/assembly/rust-abi-arg-attr.loongarch64/rust-abi-arg-attr.s:29:17: note: possible intended match here
 .section ".note.GNU-stack","",@progbits
                ^

Input file: /home/hbina085/git/rustlang/build/x86_64-unknown-linux-gnu/test/assembly/rust-abi-arg-attr.loongarch64/rust-abi-arg-attr.s
Check file: /home/hbina085/git/rustlang/tests/assembly/rust-abi-arg-attr.rs

-dump-input=help explains the following input dump.

Input was:
<<<<<<
           1:  .file "rust_abi_arg_attr.eff6563d25fa939-cgu.0" 
           2:  .section .text.issue_114508_u32,"ax",@progbits 
           3:  .globl issue_114508_u32 
           4:  .p2align 5 
           5:  .type issue_114508_u32,@function 
           6: issue_114508_u32: 
next:34'0                      X error: no match found
           7:  sltu $a2, $a1, $a0 
next:34'0     ~~~~~~~~~~~~~~~~~~~~
           8:  masknez $a1, $a1, $a2 
next:34'0     ~~~~~~~~~~~~~~~~~~~~~~~
           9:  maskeqz $a0, $a0, $a2 
next:34'0     ~~~~~~~~~~~~~~~~~~~~~~~
          10:  or $a0, $a0, $a1 
next:34'0     ~~~~~~~~~~~~~~~~~~
          11:  ret 
next:34'0     ~~~~~
          12: .Lfunc_end0: 
next:34'0     ~~~~~~~~~~~~~
          13:  .size issue_114508_u32, .Lfunc_end0-issue_114508_u32 
next:34'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          14:  
next:34'0     ~
          15:  .section .text.issue_114508_i32,"ax",@progbits 
next:34'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
next:34'1                                  ?                   possible intended match
          16:  .globl issue_114508_i32 
next:34'0     ~~~~~~~~~~~~~~~~~~~~~~~~~
          17:  .p2align 5 
next:34'0     ~~~~~~~~~~~~
          18:  .type issue_114508_i32,@function 
next:34'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          19: issue_114508_i32: 
next:34'0     ~~~~~~~~~~~~~~~~~
next:54'0                      X error: no match found
          20:  slt $a2, $a1, $a0 
next:54'0     ~~~~~~~~~~~~~~~~~~~
          21:  masknez $a1, $a1, $a2 
next:54'0     ~~~~~~~~~~~~~~~~~~~~~~~
          22:  maskeqz $a0, $a0, $a2 
next:54'0     ~~~~~~~~~~~~~~~~~~~~~~~
          23:  or $a0, $a0, $a1 
next:54'0     ~~~~~~~~~~~~~~~~~~
          24:  ret 
next:54'0     ~~~~~
          25: .Lfunc_end1: 
next:54'0     ~~~~~~~~~~~~~
          26:  .size issue_114508_i32, .Lfunc_end1-issue_114508_i32 
next:54'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          27:  
next:54'0     ~
          28:  .ident "rustc version 1.88.0-dev" 
next:54'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          29:  .section ".note.GNU-stack","",@progbits 
next:54'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
next:54'1                     ?                         possible intended match
>>>>>>
------------------------------------------


---- [assembly] tests/assembly/rust-abi-arg-attr.rs#riscv64-zbb stdout ----

error in revision `riscv64-zbb`: verification with 'FileCheck' failed
status: exit status: 1
command: "/home/hbina085/git/rustlang/build/x86_64-unknown-linux-gnu/ci-llvm/bin/FileCheck" "--input-file" "/home/hbina085/git/rustlang/build/x86_64-unknown-linux-gnu/test/assembly/rust-abi-arg-attr.riscv64-zbb/rust-abi-arg-attr.s" "/home/hbina085/git/rustlang/tests/assembly/rust-abi-arg-attr.rs" "--check-prefix=CHECK" "--check-prefix" "riscv64-zbb" "--allow-unused-prefixes" "--dump-input-context" "100"
stdout: none
--- stderr -------------------------------
/home/hbina085/git/rustlang/tests/assembly/rust-abi-arg-attr.rs:34:17: error: CHECK-NEXT: expected string not found in input
 // CHECK-NEXT: .cfi_startproc
                ^
/home/hbina085/git/rustlang/build/x86_64-unknown-linux-gnu/test/assembly/rust-abi-arg-attr.riscv64-zbb/rust-abi-arg-attr.s:8:18: note: scanning from here
issue_114508_u32:
                 ^
/home/hbina085/git/rustlang/build/x86_64-unknown-linux-gnu/test/assembly/rust-abi-arg-attr.riscv64-zbb/rust-abi-arg-attr.s:14:30: note: possible intended match here
 .section .text.issue_114508_i32,"ax",@progbits
                             ^
/home/hbina085/git/rustlang/tests/assembly/rust-abi-arg-attr.rs:54:17: error: CHECK-NEXT: expected string not found in input
 // CHECK-NEXT: .cfi_startproc
                ^
/home/hbina085/git/rustlang/build/x86_64-unknown-linux-gnu/test/assembly/rust-abi-arg-attr.riscv64-zbb/rust-abi-arg-attr.s:18:18: note: scanning from here
issue_114508_i32:
                 ^
/home/hbina085/git/rustlang/build/x86_64-unknown-linux-gnu/test/assembly/rust-abi-arg-attr.riscv64-zbb/rust-abi-arg-attr.s:25:17: note: possible intended match here
 .section ".note.GNU-stack","",@progbits
                ^

Input file: /home/hbina085/git/rustlang/build/x86_64-unknown-linux-gnu/test/assembly/rust-abi-arg-attr.riscv64-zbb/rust-abi-arg-attr.s
Check file: /home/hbina085/git/rustlang/tests/assembly/rust-abi-arg-attr.rs

-dump-input=help explains the following input dump.

Input was:
<<<<<<
           1:  .attribute 4, 16 
           2:  .attribute 5, "rv64i2p1_m2p0_a2p1_f2p2_d2p2_c2p0_zicsr2p0_zifencei2p0_zmmul1p0_zaamo1p0_zalrsc1p0_zbb1p0" 
           3:  .file "rust_abi_arg_attr.eff6563d25fa939-cgu.0" 
           4:  .section .text.issue_114508_u32,"ax",@progbits 
           5:  .globl issue_114508_u32 
           6:  .p2align 1 
           7:  .type issue_114508_u32,@function 
           8: issue_114508_u32: 
next:34'0                      X error: no match found
           9:  maxu a0, a0, a1 
next:34'0     ~~~~~~~~~~~~~~~~~
          10:  ret 
next:34'0     ~~~~~
          11: .Lfunc_end0: 
next:34'0     ~~~~~~~~~~~~~
          12:  .size issue_114508_u32, .Lfunc_end0-issue_114508_u32 
next:34'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          13:  
next:34'0     ~
          14:  .section .text.issue_114508_i32,"ax",@progbits 
next:34'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
next:34'1                                  ?                   possible intended match
          15:  .globl issue_114508_i32 
next:34'0     ~~~~~~~~~~~~~~~~~~~~~~~~~
          16:  .p2align 1 
next:34'0     ~~~~~~~~~~~~
          17:  .type issue_114508_i32,@function 
next:34'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          18: issue_114508_i32: 
next:34'0     ~~~~~~~~~~~~~~~~~
next:54'0                      X error: no match found
          19:  max a0, a0, a1 
next:54'0     ~~~~~~~~~~~~~~~~
          20:  ret 
next:54'0     ~~~~~
          21: .Lfunc_end1: 
next:54'0     ~~~~~~~~~~~~~
          22:  .size issue_114508_i32, .Lfunc_end1-issue_114508_i32 
next:54'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          23:  
next:54'0     ~
          24:  .ident "rustc version 1.88.0-dev" 
next:54'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          25:  .section ".note.GNU-stack","",@progbits 
next:54'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
next:54'1                     ?                         possible intended match
>>>>>>
------------------------------------------


---- [assembly] tests/assembly/rust-abi-arg-attr.rs#riscv64 stdout ----

error in revision `riscv64`: verification with 'FileCheck' failed
status: exit status: 1
command: "/home/hbina085/git/rustlang/build/x86_64-unknown-linux-gnu/ci-llvm/bin/FileCheck" "--input-file" "/home/hbina085/git/rustlang/build/x86_64-unknown-linux-gnu/test/assembly/rust-abi-arg-attr.riscv64/rust-abi-arg-attr.s" "/home/hbina085/git/rustlang/tests/assembly/rust-abi-arg-attr.rs" "--check-prefix=CHECK" "--check-prefix" "riscv64" "--allow-unused-prefixes" "--dump-input-context" "100"
stdout: none
--- stderr -------------------------------
/home/hbina085/git/rustlang/tests/assembly/rust-abi-arg-attr.rs:34:17: error: CHECK-NEXT: expected string not found in input
 // CHECK-NEXT: .cfi_startproc
                ^
/home/hbina085/git/rustlang/build/x86_64-unknown-linux-gnu/test/assembly/rust-abi-arg-attr.riscv64/rust-abi-arg-attr.s:8:18: note: scanning from here
issue_114508_u32:
                 ^
/home/hbina085/git/rustlang/build/x86_64-unknown-linux-gnu/test/assembly/rust-abi-arg-attr.riscv64/rust-abi-arg-attr.s:16:30: note: possible intended match here
 .section .text.issue_114508_i32,"ax",@progbits
                             ^
/home/hbina085/git/rustlang/tests/assembly/rust-abi-arg-attr.rs:54:17: error: CHECK-NEXT: expected string not found in input
 // CHECK-NEXT: .cfi_startproc
                ^
/home/hbina085/git/rustlang/build/x86_64-unknown-linux-gnu/test/assembly/rust-abi-arg-attr.riscv64/rust-abi-arg-attr.s:20:18: note: scanning from here
issue_114508_i32:
                 ^
/home/hbina085/git/rustlang/build/x86_64-unknown-linux-gnu/test/assembly/rust-abi-arg-attr.riscv64/rust-abi-arg-attr.s:29:17: note: possible intended match here
 .section ".note.GNU-stack","",@progbits
                ^

Input file: /home/hbina085/git/rustlang/build/x86_64-unknown-linux-gnu/test/assembly/rust-abi-arg-attr.riscv64/rust-abi-arg-attr.s
Check file: /home/hbina085/git/rustlang/tests/assembly/rust-abi-arg-attr.rs

-dump-input=help explains the following input dump.

Input was:
<<<<<<
           1:  .attribute 4, 16 
           2:  .attribute 5, "rv64i2p1_m2p0_a2p1_f2p2_d2p2_c2p0_zicsr2p0_zifencei2p0_zmmul1p0_zaamo1p0_zalrsc1p0" 
           3:  .file "rust_abi_arg_attr.eff6563d25fa939-cgu.0" 
           4:  .section .text.issue_114508_u32,"ax",@progbits 
           5:  .globl issue_114508_u32 
           6:  .p2align 1 
           7:  .type issue_114508_u32,@function 
           8: issue_114508_u32: 
next:34'0                      X error: no match found
           9:  bltu a1, a0, .LBB0_2 
next:34'0     ~~~~~~~~~~~~~~~~~~~~~~
          10:  mv a0, a1 
next:34'0     ~~~~~~~~~~~
          11: .LBB0_2: 
next:34'0     ~~~~~~~~~
          12:  ret 
next:34'0     ~~~~~
          13: .Lfunc_end0: 
next:34'0     ~~~~~~~~~~~~~
          14:  .size issue_114508_u32, .Lfunc_end0-issue_114508_u32 
next:34'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          15:  
next:34'0     ~
          16:  .section .text.issue_114508_i32,"ax",@progbits 
next:34'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
next:34'1                                  ?                   possible intended match
          17:  .globl issue_114508_i32 
next:34'0     ~~~~~~~~~~~~~~~~~~~~~~~~~
          18:  .p2align 1 
next:34'0     ~~~~~~~~~~~~
          19:  .type issue_114508_i32,@function 
next:34'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          20: issue_114508_i32: 
next:34'0     ~~~~~~~~~~~~~~~~~
next:54'0                      X error: no match found
          21:  blt a1, a0, .LBB1_2 
next:54'0     ~~~~~~~~~~~~~~~~~~~~~
          22:  mv a0, a1 
next:54'0     ~~~~~~~~~~~
          23: .LBB1_2: 
next:54'0     ~~~~~~~~~
          24:  ret 
next:54'0     ~~~~~
          25: .Lfunc_end1: 
next:54'0     ~~~~~~~~~~~~~
          26:  .size issue_114508_i32, .Lfunc_end1-issue_114508_i32 
next:54'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          27:  
next:54'0     ~
          28:  .ident "rustc version 1.88.0-dev" 
next:54'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          29:  .section ".note.GNU-stack","",@progbits 
next:54'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
next:54'1                     ?                         possible intended match
>>>>>>
------------------------------------------



failures:
    [assembly] tests/assembly/rust-abi-arg-attr.rs#loongarch64
    [assembly] tests/assembly/rust-abi-arg-attr.rs#riscv64-zbb
    [assembly] tests/assembly/rust-abi-arg-attr.rs#riscv64

test result: FAILED. 1 passed; 3 failed; 535 ignored; 0 measured; 0 filtered out; finished in 102.37ms

Some tests failed in compiletest suite=assembly mode=assembly host=x86_64-unknown-linux-gnu target=x86_64-unknown-linux-gnu
help: ignored 497 up-to-date tests; use `--force-rerun` to prevent this

From what I can gather, the problem is that the compiler optimizes out the function?
It seems that Rust compiles crates as a separate thing so when the final test binary is built, the metadata is gone so the test here doesn't work anymore.

@rust-log-analyzer
Copy link
Collaborator

The job x86_64-gnu-llvm-19 failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)
#19 exporting to docker image format
#19 sending tarball 20.0s done
#19 DONE 27.3s
##[endgroup]
Setting extra environment values for docker:  --env ENABLE_GCC_CODEGEN=1 --env GCC_EXEC_PREFIX=/usr/lib/gcc/
[CI_JOB_NAME=x86_64-gnu-llvm-19]
[CI_JOB_NAME=x86_64-gnu-llvm-19]
debug: `DISABLE_CI_RUSTC_IF_INCOMPATIBLE` configured.
---
sccache: Listening on address 127.0.0.1:4226
##[group]Configure the build
configure: processing command line
configure: 
configure: build.configure-args := ['--build=x86_64-unknown-linux-gnu', '--llvm-root=/usr/lib/llvm-19', '--enable-llvm-link-shared', '--set', 'rust.randomize-layout=true', '--set', 'rust.thin-lto-import-instr-limit=10', '--set', 'build.print-step-timings', '--enable-verbose-tests', '--set', 'build.metrics', '--enable-verbose-configure', '--enable-sccache', '--disable-manage-submodules', '--enable-locked-deps', '--enable-cargo-native-static', '--set', 'rust.codegen-units-std=1', '--set', 'dist.compression-profile=balanced', '--dist-compression-formats=xz', '--set', 'rust.lld=false', '--disable-dist-src', '--release-channel=nightly', '--enable-debug-assertions', '--enable-overflow-checks', '--enable-llvm-assertions', '--set', 'rust.verify-llvm-ir', '--set', 'rust.codegen-backends=llvm,cranelift,gcc', '--set', 'llvm.static-libstdcpp', '--enable-new-symbol-mangling']
configure: build.build          := x86_64-unknown-linux-gnu
configure: target.x86_64-unknown-linux-gnu.llvm-config := /usr/lib/llvm-19/bin/llvm-config
configure: llvm.link-shared     := True
configure: rust.randomize-layout := True
configure: rust.thin-lto-import-instr-limit := 10
---
  Number of decisions:   4447
  longest path:          1159 (code:    152)
  longest backtrack:       66 (code:    428)
Shared 86733 out of 152951 states by creating 14756 new states, saving 71977
/checkout/obj/build/x86_64-unknown-linux-gnu/gcc/src/gcc/expmed.cc: In function ‘rtx_def* extract_bit_field_1(rtx, poly_uint64, poly_uint64, int, rtx, machine_mode, machine_mode, bool, bool, rtx_def**)’:
/checkout/obj/build/x86_64-unknown-linux-gnu/gcc/src/gcc/expmed.cc:1864:45: warning: ‘*(unsigned int*)((char*)&imode + offsetof(scalar_int_mode, scalar_int_mode::m_mode))’ may be used uninitialized [-Wmaybe-uninitialized]
 1864 |       rtx sub = extract_bit_field_as_subreg (mode1, op0, imode,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
 1865 |                                              bitsize, bitnum);
      |                                              ~~~~~~~~~~~~~~~~
/checkout/obj/build/x86_64-unknown-linux-gnu/gcc/src/gcc/expmed.cc:1824:19: note: ‘*(unsigned int*)((char*)&imode + offsetof(scalar_int_mode, scalar_int_mode::m_mode))’ was declared here
 1824 |   scalar_int_mode imode;
      |                   ^~~~~
/checkout/obj/build/x86_64-unknown-linux-gnu/gcc/src/gcc/gimple-range-gori.cc: In member function ‘void range_def_chain::dump(FILE*, basic_block, const char*)’:
/checkout/obj/build/x86_64-unknown-linux-gnu/gcc/src/gcc/gimple-range-gori.cc:319:19: warning: format not a string literal and no format arguments [-Wformat-security]
  319 |           fprintf (f, prefix);
      |           ~~~~~~~~^~~~~~~~~~~
---
                 from /checkout/obj/build/x86_64-unknown-linux-gnu/gcc/src/gcc/analyzer/region-model.h:33,
                 from /checkout/obj/build/x86_64-unknown-linux-gnu/gcc/src/gcc/analyzer/access-diagram.cc:39:
In constructor ‘ana::byte_range::byte_range(ana::byte_offset_t, ana::byte_size_t)’,
    inlined from ‘virtual text_art::table ana::string_literal_spatial_item::make_table(const ana::bit_to_table_map&, text_art::style_manager&) const’ at /checkout/obj/build/x86_64-unknown-linux-gnu/gcc/src/gcc/analyzer/access-diagram.cc:1812:18:
/checkout/obj/build/x86_64-unknown-linux-gnu/gcc/src/gcc/analyzer/store.h:312:5: warning: ‘size_in_bytes.generic_wide_int<fixed_wide_int_storage<128> >::fixed_wide_int_storage<128>.fixed_wide_int_storage<128>::val[1]’ may be used uninitialized [-Wmaybe-uninitialized]
  312 |     m_size_in_bytes (size_in_bytes)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/checkout/obj/build/x86_64-unknown-linux-gnu/gcc/src/gcc/analyzer/access-diagram.cc: In member function ‘virtual text_art::table ana::string_literal_spatial_item::make_table(const ana::bit_to_table_map&, text_art::style_manager&) const’:
/checkout/obj/build/x86_64-unknown-linux-gnu/gcc/src/gcc/analyzer/access-diagram.cc:1808:28: note: ‘size_in_bytes.generic_wide_int<fixed_wide_int_storage<128> >::fixed_wide_int_storage<128>.fixed_wide_int_storage<128>::val[1]’ was declared here
 1808 |                byte_size_t size_in_bytes
      |                            ^~~~~~~~~~~~~
/checkout/obj/build/x86_64-unknown-linux-gnu/gcc/src/gcc/diagnostic.cc: In function ‘void fancy_abort(const char*, int, const char*)’:
/checkout/obj/build/x86_64-unknown-linux-gnu/gcc/src/gcc/diagnostic.cc:1677:15: warning: format not a string literal and no format arguments [-Wformat-security]
 1677 |       fnotice (stderr, diagnostic_kind_text[DK_ICE]);
---
/checkout/obj/build/x86_64-unknown-linux-gnu/gcc/src/gcc/gcc.cc:7930:9: warning: ignoring return value of ‘ssize_t write(int, const void*, size_t)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 7930 |   write (fd, "\n\n", 2);
      |   ~~~~~~^~~~~~~~~~~~~~~
/checkout/obj/build/x86_64-unknown-linux-gnu/gcc/src/gcc/gcc.cc: In member function ‘void driver::final_actions() const’:
/checkout/obj/build/x86_64-unknown-linux-gnu/gcc/src/gcc/gcc.cc:9307:13: warning: ignoring return value of ‘int truncate(const char*, __off_t)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 9307 |     truncate(totruncate_file, 0);
      |     ~~~~~~~~^~~~~~~~~~~~~~~~~~~~
/checkout/obj/build/x86_64-unknown-linux-gnu/gcc/src/gcc/lto-wrapper.cc: In function ‘bool find_and_merge_options(int, off_t, const char*, vec<cl_decoded_option>, bool, vec<cl_decoded_option>*, const char*)’:
/checkout/obj/build/x86_64-unknown-linux-gnu/gcc/src/gcc/lto-wrapper.cc:1165:8: warning: ignoring return value of ‘ssize_t read(int, void*, size_t)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 1165 |   read (fd, data, length);
      |   ~~~~~^~~~~~~~~~~~~~~~~~
---
/checkout/obj/build/x86_64-unknown-linux-gnu/gcc/src/gcc/lto/lto-common.cc: In function ‘void lto_resolution_read(splay_tree, FILE*, lto_file*)’:
/checkout/obj/build/x86_64-unknown-linux-gnu/gcc/src/gcc/lto/lto-common.cc:2091:10: warning: ignoring return value of ‘int fscanf(FILE*, const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 2091 |   fscanf (resolution, " ");   /* Read white space.  */
      |   ~~~~~~~^~~~~~~~~~~~~~~~~
/checkout/obj/build/x86_64-unknown-linux-gnu/gcc/src/gcc/lto/lto-common.cc:2093:9: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 2093 |   fread (obj_name, sizeof (char), name_len, resolution);
      |   ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/checkout/obj/build/x86_64-unknown-linux-gnu/gcc/src/gcc/lto/lto-common.cc:2113:10: warning: ignoring return value of ‘int fscanf(FILE*, const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 2113 |   fscanf (resolution, "%u", &num_symbols);
      |   ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /checkout/obj/build/x86_64-unknown-linux-gnu/gcc/src/gcc/jit/jit-recording.cc:32:
---
Applying io_quotes_use            to linux/blkzoned.h
Applying io_quotes_use            to linux/ipmi.h
Applying io_quotes_use            to linux/psp-dbc.h
Applying io_quotes_use            to linux/bt-bmc.h
Applying io_quotes_use            to linux/tps6594_pfsm.h
Applying io_quotes_use            to linux/cxl_mem.h
Applying io_quotes_use            to linux/wmi.h
Applying io_quotes_use            to linux/auto_fs.h
Applying io_quotes_use            to linux/mmtimer.h
Applying io_quotes_use            to linux/f2fs.h
Applying io_quotes_use            to linux/vhost.h
---
Applying io_quotes_use            to sound/asound.h
Applying io_quotes_use            to sound/compress_offload.h
Applying hpux8_bogus_inlines      to math.h
Applying pthread_incomplete_struct_argument to pthread.h
Fixed:  pthread.h
Applying io_quotes_use            to misc/mrvl_cn10k_dpi.h
Applying io_quotes_use            to misc/ocxl.h
Applying io_quotes_use            to misc/cxl.h
Applying io_quotes_use            to misc/xilinx_sdfec.h
Applying io_quotes_def            to unicode/platform.h
Applying sun_malloc               to malloc.h
Applying io_quotes_use            to scsi/cxlflash_ioctl.h
---
Applying machine_name             to x86_64-linux-gnu/bits/unistd_ext.h
Applying io_quotes_use            to x86_64-linux-gnu/asm/mtrr.h
Applying io_quotes_use            to x86_64-linux-gnu/asm/amd_hsmp.h
Applying machine_name             to openssl/e_os2.h
Applying io_quotes_use            to drm/xe_drm.h
Applying io_quotes_use            to drm/radeon_drm.h
Applying io_quotes_use            to drm/panfrost_drm.h
Applying io_quotes_use            to drm/etnaviv_drm.h
Applying io_quotes_use            to drm/lima_drm.h
Applying io_quotes_use            to drm/qaic_accel.h
Applying io_quotes_use            to drm/vc4_drm.h
Applying io_quotes_use            to drm/i915_drm.h
Applying io_quotes_use            to drm/omap_drm.h
Applying io_quotes_use            to drm/pvr_drm.h
Applying io_quotes_use            to drm/amdgpu_drm.h
Applying io_quotes_use            to drm/vgem_drm.h
Applying io_quotes_use            to drm/msm_drm.h
Applying io_quotes_use            to drm/v3d_drm.h
Applying io_quotes_use            to drm/exynos_drm.h
Applying io_quotes_use            to drm/nouveau_drm.h
Applying io_quotes_use            to drm/drm.h
Applying io_quotes_use            to drm/habanalabs_accel.h
Applying io_quotes_use            to drm/tegra_drm.h
Applying io_quotes_use            to rdma/rdma_user_ioctl.h
cc1: note: self-tests are not enabled in this build
/checkout/obj/build/x86_64-unknown-linux-gnu/gcc/src/c++tools/server.cc: In function ‘void server(bool, int, module_resolver*)’:
/checkout/obj/build/x86_64-unknown-linux-gnu/gcc/src/c++tools/server.cc:620:10: warning: ignoring return value of ‘int pipe(int*)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
---
---- [ui] tests/ui/abi/c-zst.rs#sparc64-linux stdout ----

error in revision `sparc64-linux`: auxiliary build of /checkout/tests/auxiliary/minicore.rs failed to compile: 
status: exit status: 1
command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/auxiliary/minicore.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--cfg" "sparc64_linux" "--check-cfg" "cfg(test,FALSE,aarch64_darwin,x86_64_linux,powerpc_linux,s390x_linux,sparc64_linux,x86_64_pc_windows_gnu)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/abi/c-zst.sparc64-linux/libminicore.rlib" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--target" "sparc64-unknown-linux-gnu" "-Cpanic=abort" "--crate-type" "rlib" "-Cpanic=abort"
stdout: none
--- stderr -------------------------------
error: requires `panic_const_neg_overflow` lang_item
##[error]  --> /checkout/tests/auxiliary/minicore.rs:211:21
   |
LL |                     -self
   |                     ^^^^^
...
LL | impl_neg_trait!(isize, i8, i16, i32, i64, i128,);
   | ------------------------------------------------ in this macro invocation
   |
   = note: this error originates in the macro `impl_neg_trait` (in Nightly builds, run with -Z macro-backtrace for more info)

error: requires `panic_const_neg_overflow` lang_item
##[error]  --> /checkout/tests/auxiliary/minicore.rs:211:21
   |
LL |                     -self
   |                     ^^^^^
...
LL | impl_neg_trait!(isize, i8, i16, i32, i64, i128,);
   | ------------------------------------------------ in this macro invocation
   |
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
   = note: this error originates in the macro `impl_neg_trait` (in Nightly builds, run with -Z macro-backtrace for more info)

error: requires `panic_const_neg_overflow` lang_item
##[error]  --> /checkout/tests/auxiliary/minicore.rs:211:21
   |
LL |                     -self
   |                     ^^^^^
...
LL | impl_neg_trait!(isize, i8, i16, i32, i64, i128,);
   | ------------------------------------------------ in this macro invocation
   |
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
   = note: this error originates in the macro `impl_neg_trait` (in Nightly builds, run with -Z macro-backtrace for more info)

error: requires `panic_const_neg_overflow` lang_item
##[error]  --> /checkout/tests/auxiliary/minicore.rs:211:21
   |
LL |                     -self
   |                     ^^^^^
...
LL | impl_neg_trait!(isize, i8, i16, i32, i64, i128,);
   | ------------------------------------------------ in this macro invocation
   |
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
   = note: this error originates in the macro `impl_neg_trait` (in Nightly builds, run with -Z macro-backtrace for more info)

error: requires `panic_const_neg_overflow` lang_item
##[error]  --> /checkout/tests/auxiliary/minicore.rs:211:21
   |
LL |                     -self
   |                     ^^^^^
...
LL | impl_neg_trait!(isize, i8, i16, i32, i64, i128,);
   | ------------------------------------------------ in this macro invocation
   |
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
   = note: this error originates in the macro `impl_neg_trait` (in Nightly builds, run with -Z macro-backtrace for more info)

error: requires `panic_const_neg_overflow` lang_item
##[error]  --> /checkout/tests/auxiliary/minicore.rs:211:21
   |
LL |                     -self
   |                     ^^^^^
...
LL | impl_neg_trait!(isize, i8, i16, i32, i64, i128,);
   | ------------------------------------------------ in this macro invocation
   |
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
   = note: this error originates in the macro `impl_neg_trait` (in Nightly builds, run with -Z macro-backtrace for more info)

error: aborting due to 6 previous errors
------------------------------------------


---- [ui] tests/ui/abi/arm-unadjusted-intrinsic.rs#arm stdout ----

error in revision `arm`: auxiliary build of /checkout/tests/auxiliary/minicore.rs failed to compile: 
status: exit status: 1
command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/auxiliary/minicore.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--cfg" "arm" "--check-cfg" "cfg(test,FALSE,arm,aarch64)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/abi/arm-unadjusted-intrinsic.arm/libminicore.rlib" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--target" "arm-unknown-linux-gnueabi" "-Cpanic=abort" "--crate-type" "rlib" "-Cpanic=abort"
stdout: none
--- stderr -------------------------------
error: requires `panic_const_neg_overflow` lang_item
##[error]  --> /checkout/tests/auxiliary/minicore.rs:211:21
   |
LL |                     -self
   |                     ^^^^^
...
LL | impl_neg_trait!(isize, i8, i16, i32, i64, i128,);
   | ------------------------------------------------ in this macro invocation
   |
   = note: this error originates in the macro `impl_neg_trait` (in Nightly builds, run with -Z macro-backtrace for more info)

error: requires `panic_const_neg_overflow` lang_item
##[error]  --> /checkout/tests/auxiliary/minicore.rs:211:21
   |
LL |                     -self
   |                     ^^^^^
...
LL | impl_neg_trait!(isize, i8, i16, i32, i64, i128,);
   | ------------------------------------------------ in this macro invocation
   |
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
   = note: this error originates in the macro `impl_neg_trait` (in Nightly builds, run with -Z macro-backtrace for more info)

error: requires `panic_const_neg_overflow` lang_item
##[error]  --> /checkout/tests/auxiliary/minicore.rs:211:21
   |
LL |                     -self
   |                     ^^^^^
...
LL | impl_neg_trait!(isize, i8, i16, i32, i64, i128,);
   | ------------------------------------------------ in this macro invocation
   |
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
   = note: this error originates in the macro `impl_neg_trait` (in Nightly builds, run with -Z macro-backtrace for more info)

error: requires `panic_const_neg_overflow` lang_item
##[error]  --> /checkout/tests/auxiliary/minicore.rs:211:21
   |
LL |                     -self
   |                     ^^^^^
...
LL | impl_neg_trait!(isize, i8, i16, i32, i64, i128,);
   | ------------------------------------------------ in this macro invocation
   |
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
   = note: this error originates in the macro `impl_neg_trait` (in Nightly builds, run with -Z macro-backtrace for more info)

error: requires `panic_const_neg_overflow` lang_item
##[error]  --> /checkout/tests/auxiliary/minicore.rs:211:21
   |
LL |                     -self
   |                     ^^^^^
...
LL | impl_neg_trait!(isize, i8, i16, i32, i64, i128,);
   | ------------------------------------------------ in this macro invocation
   |
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
   = note: this error originates in the macro `impl_neg_trait` (in Nightly builds, run with -Z macro-backtrace for more info)

error: requires `panic_const_neg_overflow` lang_item
##[error]  --> /checkout/tests/auxiliary/minicore.rs:211:21
   |
LL |                     -self
   |                     ^^^^^
...
LL | impl_neg_trait!(isize, i8, i16, i32, i64, i128,);
   | ------------------------------------------------ in this macro invocation
   |
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
   = note: this error originates in the macro `impl_neg_trait` (in Nightly builds, run with -Z macro-backtrace for more info)

error: aborting due to 6 previous errors
------------------------------------------


---- [ui] tests/ui/abi/c-zst.rs#powerpc-linux stdout ----

error in revision `powerpc-linux`: auxiliary build of /checkout/tests/auxiliary/minicore.rs failed to compile: 
status: exit status: 1
command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/auxiliary/minicore.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--cfg" "powerpc_linux" "--check-cfg" "cfg(test,FALSE,aarch64_darwin,x86_64_linux,powerpc_linux,s390x_linux,sparc64_linux,x86_64_pc_windows_gnu)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/abi/c-zst.powerpc-linux/libminicore.rlib" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--target" "powerpc-unknown-linux-gnu" "-Cpanic=abort" "--crate-type" "rlib" "-Cpanic=abort"
stdout: none
--- stderr -------------------------------
error: requires `panic_const_neg_overflow` lang_item
##[error]  --> /checkout/tests/auxiliary/minicore.rs:211:21
   |
LL |                     -self
   |                     ^^^^^
...
LL | impl_neg_trait!(isize, i8, i16, i32, i64, i128,);
   | ------------------------------------------------ in this macro invocation
   |
   = note: this error originates in the macro `impl_neg_trait` (in Nightly builds, run with -Z macro-backtrace for more info)

error: requires `panic_const_neg_overflow` lang_item
##[error]  --> /checkout/tests/auxiliary/minicore.rs:211:21
   |
LL |                     -self
   |                     ^^^^^
...
LL | impl_neg_trait!(isize, i8, i16, i32, i64, i128,);
   | ------------------------------------------------ in this macro invocation
   |
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
   = note: this error originates in the macro `impl_neg_trait` (in Nightly builds, run with -Z macro-backtrace for more info)

error: requires `panic_const_neg_overflow` lang_item
##[error]  --> /checkout/tests/auxiliary/minicore.rs:211:21
   |
LL |                     -self
   |                     ^^^^^
...
LL | impl_neg_trait!(isize, i8, i16, i32, i64, i128,);
   | ------------------------------------------------ in this macro invocation
   |
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
   = note: this error originates in the macro `impl_neg_trait` (in Nightly builds, run with -Z macro-backtrace for more info)

error: requires `panic_const_neg_overflow` lang_item
##[error]  --> /checkout/tests/auxiliary/minicore.rs:211:21
   |
LL |                     -self
   |                     ^^^^^
...
LL | impl_neg_trait!(isize, i8, i16, i32, i64, i128,);
   | ------------------------------------------------ in this macro invocation
   |
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
   = note: this error originates in the macro `impl_neg_trait` (in Nightly builds, run with -Z macro-backtrace for more info)

error: requires `panic_const_neg_overflow` lang_item
##[error]  --> /checkout/tests/auxiliary/minicore.rs:211:21
   |
LL |                     -self
   |                     ^^^^^
...
LL | impl_neg_trait!(isize, i8, i16, i32, i64, i128,);
   | ------------------------------------------------ in this macro invocation
   |
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
   = note: this error originates in the macro `impl_neg_trait` (in Nightly builds, run with -Z macro-backtrace for more info)

error: requires `panic_const_neg_overflow` lang_item
##[error]  --> /checkout/tests/auxiliary/minicore.rs:211:21
   |
LL |                     -self
   |                     ^^^^^
...
LL | impl_neg_trait!(isize, i8, i16, i32, i64, i128,);
   | ------------------------------------------------ in this macro invocation
   |
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
   = note: this error originates in the macro `impl_neg_trait` (in Nightly builds, run with -Z macro-backtrace for more info)

error: aborting due to 6 previous errors
------------------------------------------


---- [ui] tests/ui/abi/c-zst.rs#aarch64-darwin stdout ----

error in revision `aarch64-darwin`: auxiliary build of /checkout/tests/auxiliary/minicore.rs failed to compile: 
status: exit status: 1
command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/auxiliary/minicore.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--cfg" "aarch64_darwin" "--check-cfg" "cfg(test,FALSE,aarch64_darwin,x86_64_linux,powerpc_linux,s390x_linux,sparc64_linux,x86_64_pc_windows_gnu)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/abi/c-zst.aarch64-darwin/libminicore.rlib" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--target" "aarch64-apple-darwin" "-Cpanic=abort" "--crate-type" "rlib" "-Cpanic=abort"
stdout: none
--- stderr -------------------------------
error: requires `panic_const_neg_overflow` lang_item
##[error]  --> /checkout/tests/auxiliary/minicore.rs:211:21
   |
LL |                     -self
   |                     ^^^^^
...
LL | impl_neg_trait!(isize, i8, i16, i32, i64, i128,);
   | ------------------------------------------------ in this macro invocation
   |
   = note: this error originates in the macro `impl_neg_trait` (in Nightly builds, run with -Z macro-backtrace for more info)

error: requires `panic_const_neg_overflow` lang_item
##[error]  --> /checkout/tests/auxiliary/minicore.rs:211:21
   |
LL |                     -self
   |                     ^^^^^
...
LL | impl_neg_trait!(isize, i8, i16, i32, i64, i128,);
   | ------------------------------------------------ in this macro invocation
   |
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
   = note: this error originates in the macro `impl_neg_trait` (in Nightly builds, run with -Z macro-backtrace for more info)

error: requires `panic_const_neg_overflow` lang_item
##[error]  --> /checkout/tests/auxiliary/minicore.rs:211:21
   |
LL |                     -self
   |                     ^^^^^
...
LL | impl_neg_trait!(isize, i8, i16, i32, i64, i128,);
   | ------------------------------------------------ in this macro invocation
   |
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
   = note: this error originates in the macro `impl_neg_trait` (in Nightly builds, run with -Z macro-backtrace for more info)

error: requires `panic_const_neg_overflow` lang_item
##[error]  --> /checkout/tests/auxiliary/minicore.rs:211:21
   |
LL |                     -self
   |                     ^^^^^
...
LL | impl_neg_trait!(isize, i8, i16, i32, i64, i128,);
   | ------------------------------------------------ in this macro invocation
   |
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
   = note: this error originates in the macro `impl_neg_trait` (in Nightly builds, run with -Z macro-backtrace for more info)

error: requires `panic_const_neg_overflow` lang_item
##[error]  --> /checkout/tests/auxiliary/minicore.rs:211:21
   |
LL |                     -self
   |                     ^^^^^
...
LL | impl_neg_trait!(isize, i8, i16, i32, i64, i128,);
   | ------------------------------------------------ in this macro invocation
   |
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
   = note: this error originates in the macro `impl_neg_trait` (in Nightly builds, run with -Z macro-backtrace for more info)

error: requires `panic_const_neg_overflow` lang_item
##[error]  --> /checkout/tests/auxiliary/minicore.rs:211:21
   |
LL |                     -self
   |                     ^^^^^
...
LL | impl_neg_trait!(isize, i8, i16, i32, i64, i128,);
   | ------------------------------------------------ in this macro invocation
   |
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
   = note: this error originates in the macro `impl_neg_trait` (in Nightly builds, run with -Z macro-backtrace for more info)

error: aborting due to 6 previous errors
------------------------------------------


---- [ui] tests/ui/abi/arm-unadjusted-intrinsic.rs#aarch64 stdout ----

error in revision `aarch64`: auxiliary build of /checkout/tests/auxiliary/minicore.rs failed to compile: 
status: exit status: 1
command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/auxiliary/minicore.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--cfg" "aarch64" "--check-cfg" "cfg(test,FALSE,arm,aarch64)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/abi/arm-unadjusted-intrinsic.aarch64/libminicore.rlib" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--target" "aarch64-unknown-linux-gnu" "-Cpanic=abort" "--crate-type" "rlib" "-Cpanic=abort"
stdout: none
--- stderr -------------------------------
error: requires `panic_const_neg_overflow` lang_item
##[error]  --> /checkout/tests/auxiliary/minicore.rs:211:21
   |
LL |                     -self
   |                     ^^^^^
...
LL | impl_neg_trait!(isize, i8, i16, i32, i64, i128,);
   | ------------------------------------------------ in this macro invocation
   |
   = note: this error originates in the macro `impl_neg_trait` (in Nightly builds, run with -Z macro-backtrace for more info)

error: requires `panic_const_neg_overflow` lang_item
##[error]  --> /checkout/tests/auxiliary/minicore.rs:211:21
   |
LL |                     -self
   |                     ^^^^^
...
LL | impl_neg_trait!(isize, i8, i16, i32, i64, i128,);
   | ------------------------------------------------ in this macro invocation
   |
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
   = note: this error originates in the macro `impl_neg_trait` (in Nightly builds, run with -Z macro-backtrace for more info)

error: requires `panic_const_neg_overflow` lang_item
##[error]  --> /checkout/tests/auxiliary/minicore.rs:211:21
   |
LL |                     -self
   |                     ^^^^^
...
LL | impl_neg_trait!(isize, i8, i16, i32, i64, i128,);
   | ------------------------------------------------ in this macro invocation
   |
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
   = note: this error originates in the macro `impl_neg_trait` (in Nightly builds, run with -Z macro-backtrace for more info)

error: requires `panic_const_neg_overflow` lang_item
##[error]  --> /checkout/tests/auxiliary/minicore.rs:211:21
   |
LL |                     -self
   |                     ^^^^^
...
LL | impl_neg_trait!(isize, i8, i16, i32, i64, i128,);
   | ------------------------------------------------ in this macro invocation
   |
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
   = note: this error originates in the macro `impl_neg_trait` (in Nightly builds, run with -Z macro-backtrace for more info)

error: requires `panic_const_neg_overflow` lang_item
##[error]  --> /checkout/tests/auxiliary/minicore.rs:211:21
   |
LL |                     -self
   |                     ^^^^^
...
LL | impl_neg_trait!(isize, i8, i16, i32, i64, i128,);
   | ------------------------------------------------ in this macro invocation
   |
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
   = note: this error originates in the macro `impl_neg_trait` (in Nightly builds, run with -Z macro-backtrace for more info)

error: requires `panic_const_neg_overflow` lang_item
##[error]  --> /checkout/tests/auxiliary/minicore.rs:211:21
   |
LL |                     -self
   |                     ^^^^^
...
LL | impl_neg_trait!(isize, i8, i16, i32, i64, i128,);
   | ------------------------------------------------ in this macro invocation
   |
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
   = note: this error originates in the macro `impl_neg_trait` (in Nightly builds, run with -Z macro-backtrace for more info)

error: aborting due to 6 previous errors
------------------------------------------


---- [ui] tests/ui/abi/c-zst.rs#x86_64-pc-windows-gnu stdout ----

error in revision `x86_64-pc-windows-gnu`: auxiliary build of /checkout/tests/auxiliary/minicore.rs failed to compile: 
status: exit status: 1
command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/auxiliary/minicore.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--cfg" "x86_64_pc_windows_gnu" "--check-cfg" "cfg(test,FALSE,aarch64_darwin,x86_64_linux,powerpc_linux,s390x_linux,sparc64_linux,x86_64_pc_windows_gnu)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/abi/c-zst.x86_64-pc-windows-gnu/libminicore.rlib" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--target" "x86_64-pc-windows-gnu" "-Cpanic=abort" "--crate-type" "rlib" "-Cpanic=abort"
stdout: none
--- stderr -------------------------------
error: requires `panic_const_neg_overflow` lang_item
##[error]  --> /checkout/tests/auxiliary/minicore.rs:211:21
   |
LL |                     -self
   |                     ^^^^^
...
LL | impl_neg_trait!(isize, i8, i16, i32, i64, i128,);
   | ------------------------------------------------ in this macro invocation
   |
   = note: this error originates in the macro `impl_neg_trait` (in Nightly builds, run with -Z macro-backtrace for more info)

error: requires `panic_const_neg_overflow` lang_item
##[error]  --> /checkout/tests/auxiliary/minicore.rs:211:21
   |
LL |                     -self
   |                     ^^^^^
...
LL | impl_neg_trait!(isize, i8, i16, i32, i64, i128,);
   | ------------------------------------------------ in this macro invocation
   |
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
   = note: this error originates in the macro `impl_neg_trait` (in Nightly builds, run with -Z macro-backtrace for more info)

error: requires `panic_const_neg_overflow` lang_item
##[error]  --> /checkout/tests/auxiliary/minicore.rs:211:21
   |
LL |                     -self
   |                     ^^^^^
...
LL | impl_neg_trait!(isize, i8, i16, i32, i64, i128,);
   | ------------------------------------------------ in this macro invocation
   |
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
   = note: this error originates in the macro `impl_neg_trait` (in Nightly builds, run with -Z macro-backtrace for more info)

error: requires `panic_const_neg_overflow` lang_item
##[error]  --> /checkout/tests/auxiliary/minicore.rs:211:21
   |
LL |                     -self
   |                     ^^^^^
...
LL | impl_neg_trait!(isize, i8, i16, i32, i64, i128,);
   | ------------------------------------------------ in this macro invocation
   |
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
   = note: this error originates in the macro `impl_neg_trait` (in Nightly builds, run with -Z macro-backtrace for more info)

error: requires `panic_const_neg_overflow` lang_item
##[error]  --> /checkout/tests/auxiliary/minicore.rs:211:21
   |
LL |                     -self
   |                     ^^^^^
...
LL | impl_neg_trait!(isize, i8, i16, i32, i64, i128,);
   | ------------------------------------------------ in this macro invocation
   |
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
   = note: this error originates in the macro `impl_neg_trait` (in Nightly builds, run with -Z macro-backtrace for more info)

error: requires `panic_const_neg_overflow` lang_item
##[error]  --> /checkout/tests/auxiliary/minicore.rs:211:21
   |
LL |                     -self
   |                     ^^^^^
...
LL | impl_neg_trait!(isize, i8, i16, i32, i64, i128,);
   | ------------------------------------------------ in this macro invocation
   |
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
   = note: this error originates in the macro `impl_neg_trait` (in Nightly builds, run with -Z macro-backtrace for more info)

error: aborting due to 6 previous errors
------------------------------------------


---- [ui] tests/ui/abi/c-zst.rs#s390x-linux stdout ----

error in revision `s390x-linux`: auxiliary build of /checkout/tests/auxiliary/minicore.rs failed to compile: 
status: exit status: 1
command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/auxiliary/minicore.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--cfg" "s390x_linux" "--check-cfg" "cfg(test,FALSE,aarch64_darwin,x86_64_linux,powerpc_linux,s390x_linux,sparc64_linux,x86_64_pc_windows_gnu)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/abi/c-zst.s390x-linux/libminicore.rlib" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--target" "s390x-unknown-linux-gnu" "-Cpanic=abort" "--crate-type" "rlib" "-Cpanic=abort"
stdout: none
--- stderr -------------------------------
error: requires `panic_const_neg_overflow` lang_item

@jieyouxu
Copy link
Member

jieyouxu commented Apr 19, 2025

From what I can gather, the problem is that the compiler optimizes out the function?

Not quite. From what I can tell, the key instructions are still present (i.e. if you comment out the .cfi* directive CHECK-NEXTs the test passes for me locally), but it's missing the CFI directives.

E.g. loongarch64 revision (this PR)

issue_114508_u32:
	sltu	$a2, $a1, $a0
	masknez	$a1, $a1, $a2
	maskeqz	$a0, $a0, $a2
	or	$a0, $a0, $a1
	ret
.Lfunc_end0:
	.size	issue_114508_u32, .Lfunc_end0-issue_114508_u32

	.section	.text.issue_114508_i32,"ax",@progbits
	.globl	issue_114508_i32
	.p2align	5
	.type	issue_114508_i32,@function
issue_114508_i32:
	slt	$a2, $a1, $a0
	masknez	$a1, $a1, $a2
	maskeqz	$a0, $a0, $a2
	or	$a0, $a0, $a1
	ret
.Lfunc_end1:
	.size	issue_114508_i32, .Lfunc_end1-issue_114508_i32

	.ident	"rustc version 1.88.0-dev"
	.section	".note.GNU-stack","",@progbits

on master:

issue_114508_u32:
	.cfi_startproc
	sltu	$a2, $a1, $a0
	masknez	$a1, $a1, $a2
	maskeqz	$a0, $a0, $a2
	or	$a0, $a0, $a1
	ret
.Lfunc_end0:
	.size	issue_114508_u32, .Lfunc_end0-issue_114508_u32
	.cfi_endproc

	.section	.text.issue_114508_i32,"ax",@progbits
	.globl	issue_114508_i32
	.p2align	5
	.type	issue_114508_i32,@function
issue_114508_i32:
	.cfi_startproc
	slt	$a2, $a1, $a0
	masknez	$a1, $a1, $a2
	maskeqz	$a0, $a0, $a2
	or	$a0, $a0, $a1
	ret
.Lfunc_end1:
	.size	issue_114508_i32, .Lfunc_end1-issue_114508_i32
	.cfi_endproc

	.ident	"rustc version 1.88.0-dev"
	.section	".note.GNU-stack","",@progbits

cc @rcvalle do you happen to know why the CFI directives might be missing? FWIW, minicore is built as an rlib + -Cpanic=abort and linked to the test crate via --extern minicore=/path/to/libminicore.rlib.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Extend minicore with intrinsics and use it to replace #[rustc_intrinsic] in tests
5 participants